package com.trendit.openapi.param;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

/**
 * 打印请求
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PrintParam extends SnParam {

    /**
     * 打印小票模板内容
     */
    @Length(max = 6000)
    private String content;

    /**
     * 播报音源
     */
    @Length(max = 120)
    private String voice;

    /**
     * 播报语音次数，默认播报1次，不能超过3次
     */
    @Range(min = 1, max = 5)
    private Integer voicePlayTimes;

    /**
     * 多次播报语音时的间隔秒数，默认3秒
     */
    private String voicePlayInterval;

    /**
     * 打印小票张数，不传默认1， 取值范围: 1~5
     */
    @Range(min = 1, max = 5)
    private Integer copies;


    /**
     * 希望在多少秒后过期（ 120 <= s <= 3600*24 ），如果设备在此期间都没有上线或其它原因无法就绪打印，系统就放弃该笔小票的打印任务，不传默认两小时
     */
    @Range(min = 2 * 60, max = 86400)
    private Integer expiresInSeconds;

}
